function dados () {
	var selectedrowindex = $("#gridPrincipal").jqxGrid('getselectedrowindex');
	return $('#gridPrincipal').jqxGrid('getrowdata', selectedrowindex);	
}
$(document).ready(function () {
	//============================= Layout da tela =======================
	// Configura a tela para deixar em 2 frames
	$("#layoutTela").jqxSplitter({ 
		width: '100%', 
		height: (window.innerHeight - 20),
		panels: [{ size: (window.innerWidth - 700), theme: "custom",collapsible: false}, 
				 {min: 250, theme: "custom", collapsible : true}] 
	});
	$('#layoutTela').jqxSplitter('collapse');
	
	var retornoPais = AjaxPadrao("/php/sistema/SISComboBox.php","GET","tipo=PAIS");
	retornoPais.done(function(combo) {
		$("#pais").html(combo);
		$("#id_pais").jqxComboBox({placeHolder: '-- Selecione país --'});
	});	 
	retornoPais.fail(function( jqXHR, textStatus ) {
		showmessage('','S',"Erro na requisição do combo pais. Falha: " + textStatus,'S','');
	});
	
	//============================= Grid =======================
	// Aqui prepara para buscar os dados via ajax
	var source = {
		datatype: "json",
		datafields: [{ name: 'id_estado', type: 'int'},
					 { name: 'est_nome', type: 'string' },
					 { name: 'est_sigla', type: 'string' },
					 { name: 'id_pais', type: 'int' },
					 { name: 'pai_nome', type: 'string' }],
		pagesize: 50,
		cache: false,
		url: $.raizProjeto + '/php/sistema/SISEstado.php?tipo=&pagesize=20&pagenum=0',
		filter: function(){
			// update the grid and send a request to the server.
			$("#gridPrincipal").jqxGrid('updatebounddata', 'filter');
		},
		sort: function(){
			// update the grid and send a request to the server.
			$("#gridPrincipal").jqxGrid('updatebounddata', 'sort');
		},
		root: 'Rows',
		beforeprocessing: function(data){		
			if (data != null){
				source.totalrecords = data[0].TotalRows;					
			}
		}
	};
	// Aqui executa o source para buscar os dados
	var dataadapter = new $.jqx.dataAdapter(source, {
		loadError: function(xhr, status, error) {
			alert(error);
		}
	});

	// Monta a grid padrão
	var row = null;
	$("#gridPrincipal").jqxGrid({		
		source: dataadapter,
		width: '100%',
		height: '100%',
		theme: "custom",
		filterable: true,
		sortable: true,
		localization: getLocalization('pt-br'),
		pageable: true,
		virtualmode: true,
		showstatusbar: true,
		pagermode: 'simple',
		rendergridrows: function(obj) {
			return obj.data;    
		},
		renderstatusbar: function (statusbar) {
			// Botoes da barra de status da Grid
			var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
			var addButton = $("<div style='float: left; margin-left: 5px;'>" +
							  "<img style='position: relative; margin-top: 2px;' src='"+$.iconIncluir+"'/>" +
							  "<span style='margin-left: 4px; position: relative; top: -3px;'>Incluir</span></div>");
			var deleteButton = $("<div style='float: left; margin-left: 5px;'>" + 
								 "<img style='position: relative; margin-top: 2px;' src='"+$.iconExcluir+"'/>" + 
								 "<span style='margin-left: 4px; position: relative; top: -3px;'>Excluir</span></div>");
			var reloadButton = $("<div style='float: left; margin-left: 5px;'>" +
								 "<img style='position: relative; margin-top: 2px;' src='"+$.iconAtualizar+"'/>" +
								 "<span style='margin-left: 4px; position: relative; top: -3px;'>Atualizar</span></div>");                    
			container.append(addButton);
			container.append(deleteButton);
			container.append(reloadButton);
			statusbar.append(container);
			addButton.jqxButton({  
				width: 100, 
				height: 18
			});
			deleteButton.jqxButton({  
				width: 100, 
				height: 18, 
				theme: "custom" 
			});
			reloadButton.jqxButton({  
				width: 100, 
				height: 18, 
				theme: "custom" 
			});
			//evento de clique do botão AddButton
			addButton.click(function (event) {
				$('#layoutTela').jqxSplitter('expand');
				$("#tipo").val('INC');
				$("#est_nome").val('');
				$("#est_sigla").val('');
				$("#id_pais").jqxComboBox('selectItem', 0);
				$("#est_nome").focus();                        
			});
			//evento de clique do botão deleteButton
			deleteButton.click(function (event) {
				if ($("#id_estado").val() != '') {
					row = dados();
					$("#tipo").val('EXC');
					$("#id_estado").val(row.id_estado);
					showmessage('','Confirmação','Confirma exclusão?','CONFIRMAR','');
					// evendo de confirmação positiva
					$('#ok').click(function() { 
						var retorno = AjaxPadrao("/php/sistema/SISEstado.php");
						retorno.done(function( data ) {
							data = $.trim(data);
							var obj = $.parseJSON(data);						
							if (obj.retorno == '0') {
								$("#tipo").val('');
								$("#est_nome").val('');
								$("#est_sigla").val('');
								$("#id_estado").val('');
								$("#id_pais").jqxComboBox('selectItem', 0);
								showmessage('','S',obj.msg,'S','');
								$("#gridPrincipal").jqxGrid('updatebounddata');
								$("#gridPrincipal").jqxGrid('selectrow', 0);
								$('#gridPrincipal').focus();
							} else
								showmessage('','E',obj.msg,'E','');
						});
						 
						request.fail(function( jqXHR, textStatus ) {
							showmessage('','S',"Erro na requisição da exclusão. Falha: " + textStatus,'S','');
						});
					});
					$('#cancel').click(function() { 
						$("#tipo").val('');
						$("#id_estado").val('');
					});
				} else
					showmessage('','E','Selecione um estado antes de continuar.','E','');
			});
			//evento de clique do botão reloadButton
			reloadButton.click(function (event) {
				$("#gridPrincipal").jqxGrid('updatebounddata');
			});                    
		},
		columns: [{ text: '<div align="center">Código</div>', 
					cellsalign: 'center', 
					datafield: 'id_estado', 
					width: '10%' },
				  { text: 'Nome do Estado', 
					datafield: 'est_nome', 
					width: '30%' },
				  { text: 'Sigla', 
					datafield: 'est_sigla'},
				  { text: 'Código País', 
					datafield: 'id_pais'},
				  { text: 'Pais', 
					datafield: 'pai_nome'}
		]
	});
	
//	$("#gridPrincipal").jqxGrid('selectrow', 0);
	
	// Evendo de seleção de linha da grid para colocar os dados no form
	$('#gridPrincipal').on('rowselect', function (event) {				
		row = event.args.row;
		$("#id_estado").val(row.id_estado);
		$("#est_nome").val(row.est_nome);
		$("#est_sigla").val(row.est_sigla);
		$("#id_pais").jqxComboBox('selectItem', row.id_pais );
		$("#tipo").val('MAN');
	});
	
	// Evendo de duplo click da linha da grid para abrir o formulário para ser alterado os dados
	$('#gridPrincipal').on('rowdoubleclick', function (event) {		
		$('#layoutTela').jqxSplitter('expand');
	});
	
	//============================= Formulário de edição =======================
	// Configura os campos do formulário para dar manutenção ou incluir os dados
	$("#est_nome").jqxInput({
		height: 23 
	});
	$("#est_sigla").jqxInput({ 
		height: 23
	});
	
	$("#salvar").jqxButton({  
		width: 70, 
		height: 23
	});
	
	// initialize validator.
	$('#formCad').jqxValidator({
		hintType: 'label',
		rules: [{ input: '#est_nome', message: 'Nome do estado deve ser informado!', action: 'keyup, blur', rule: 'required' },
				{ input: '#est_sigla', message: 'Sigla do estado deve ser informada!', action: 'keyup, blur', rule: 'required' },
				{ input: '#id_pais', message: 'A vendor is required - please select or enter a vendor', action: 'select, bluer', rule: function(input){if($("#id_pais").jqxComboBox('val') == "") { return false;} else { return true};} }]	
			});
	// validate form.
	$("#salvar").click(function () {
		var validationResult = function (isValid) {
			if (isValid) {						
				var retorno = AjaxPadrao("/php/sistema/SISEstado.php");
				retorno.done(function( data ) {
					data = $.trim(data);
					var obj = $.parseJSON(data);						
					if (obj.retorno == '0') {
						$("#gridPrincipal").jqxGrid('selectrow', 0);
						$('#gridPrincipal').focus();
						showmessage('','S',obj.msg,'S','');
						$("#gridPrincipal").jqxGrid('updatebounddata');
						$('#layoutTela').jqxSplitter('collapse');
						
					} else
						showmessage('','E',obj.msg,'E','');
				});
				 
				retorno.fail(function( jqXHR, textStatus ) {
					showmessage('','S',"Erro na requisição do salvar. Falha: " + textStatus,'S','');
				});
				return false;
			}
		}
		$('#formCad').jqxValidator('validate', validationResult);
	});
});